CC		= gcc
CFLAGS	= -Wall -O3 -lm -pthread

BIN 	= ${CURDIR}/bin
DOC 	= ${CURDIR}/doc
SRC 	= ${CURDIR}/src

#.phony specifica che dall'operazione non verranno creati files
.PHONY: clean

#default target esegue chat
default: chat

#compila i sorgenti per ottenere gli eseguibili il parametro -I dice a gcc di includere i file .h
chat:
	$(CC) $(CFLAGS) -o $(SRC)/chat-server.o $(SRC)/chat-server.c $(SRC)/messaggio.c $(SRC)/io.c $(SRC)/hashtable.c
	$(CC) $(CFLAGS) -o $(SRC)/chat-client.o $(SRC)/chat-client.c $(SRC)/messaggio.c

#copiare gli eseguibili chat-server e chat-client nella directory bin
install:
	cp $(SRC)/*.o $(BIN)/

#cancellare i file prodotti da una precedente compilazione
clean:
	rm -rf $(BIN)/*.o && rm -rf $(SRC)/*.o
